1. Field of the Invention
The present invention relates to data transfer and, more particularly, to automatic detection and management of baud rate within a data communications system.
2. Description of Related Art
In the communication of digital data from one digital device to another, it has long been common to employ terminal adapter units (TAU) as an interface between the digital device and the transmission network. For example, different digital devices often send and receive data in accordance with different protocols and a TAU is necessary to translate the data for the receiving/sending digital device. The data rate at which different digital devices and transmission circuits can operate for communicating between devices may vary greatly and range from a baud rate of a few hundred bps up to several thousand bps. Baud is a communication term corresponding to the number of bits per second (bps) at which data is sent along a communications medium. In order to receive data on behalf of digital devices, a terminal adapter unit must be capable of recognizing the rate at which data is being sent in order to properly receive the transmitted information. That is, it is necessary to coordinate the operation of two devices which are sending and receiving data to one another in order to ensure that the information is correctly interpreted. A terminal adapter unit cannot accurately receive data without knowing the rate at which that data is coming in.
Various circuits have been proposed to provide automatic baud rate detection in communications products such as modems, printers and plotters in order to facilitate the proper synchronization of transmission rates and enable the sending of data via communication links. Such circuits include U.S. Pat. No. 3,626,306 to Puckett and U.S. Pat. No. 3,696,338 to Priess which disclose techniques for synchronizing data transmissions employing the recognization of zero slope points on the received analog wave form and varying the transmission rate based upon the presence or absence of information. Such early techniques had inherent accuracy problems.
Other prior art methods of automatically determining the baud rate of a serial bit stream includes measurement of the duration of a start bit. Such techniques depend upon a user device sending a specified character (an autobaud character) as the first character of the session and measuring the duration of the start bit to determine the baud rate of the transmitted information. However, because of the inaccuracies inherent in timing of bits in a serial bit stream, the width of the start bit may vary substantially. Reliance on this calculation alone combined with the possibility of an erroneous character bit being sent instead of the correct autobaud character causes incorrect baud rates to be selected by the terminal adapter unit resulting in inaccuracy in the reception of subsequently transmitted data. Most of these systems also included the ability to receive only a single channel of data resulting in inordinate expenses in multi-channel data communications.
Another technique, such as that shown in U.S. Pat. No. 5,008,902 to Key et al., includes the accumulation of a plurality of samples of data and then comparing the received bits to an autobaud character. If a match occurs, the sampling clock is assumed to be correctly synchronized with the incoming data stream. If no match occurs then the data clock is subdivided and another sample taken for a subsequent comparison. Such a technique is only capable of handling a single channel of data and is also unduly slow in that no data can be received until a correct decision as to the baud rate has been determined.
A need exists for a system which can determine baud rate on multiple channels while also passing data through the system and then serving as a data receiver once baud rate has been determined.